package model.Publicacion;
import java.util.ArrayList;
import java.util.List;

import model.Usuario.UsuarioRegistrado;


public class Pregunta extends Publicacion
{

	private String titulo;

	
	private List<String> etiquetas = new ArrayList<String>();
	

	public List<Respuesta> respuestas= new ArrayList<Respuesta>();

	
	private UsuarioRegistrado autor;
	
	
	
	public Pregunta(String titulo, UsuarioRegistrado autor, String cuerpo){
		super(cuerpo);
		this.autor=autor;
		this.titulo=titulo;
	}

	
	public void agregarRespuesta(Respuesta respuesta) {
		this.respuestas.add(respuesta);
		
	}
	
	
	public void agregarEtiqueta(String etiqueta) {
		this.etiquetas.add(etiqueta);	
	}

	
	public void sacarEtiqueta(String etiqueta) {
		this.etiquetas.remove(etiqueta);
	}

	
	public void sacarRespuesta(Respuesta respuesta) {
		this.respuestas.remove(respuesta);
	}
	
	
	public List<String> getEtiquetas() {
		
		return this.etiquetas;	
	}
	
	
	public String getTitulo() {
		
		return this.titulo;	
	}
	
	
	public boolean existeEtiqueta(String etiqueta) {
		boolean b = false;
		for (String e : etiquetas) {
			if(e.equals(etiqueta)){
				b = true;
			}
		}
		return b;	
	}
	
	public boolean existeRespuesta(Respuesta respuesta) {
		boolean b = false;
		for(Respuesta r : respuestas){
			if(r.equals(respuesta)){
				b = true;
			}
		}
		return b;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
		
	}


	public void modificar(Pregunta nueva) {
		
		titulo=nueva.getTitulo();
		cuerpo=nueva.getCuerpo();
		autor=nueva.getAutor();
	}


	public UsuarioRegistrado getAutor() {
		
		return autor;
	}


	public int getCantEtiquetas() {
		
		return etiquetas.size();
	}


	public int getCantRespuestas() {
		
		int cantidad=0;
		for(Respuesta r:respuestas)
		{
			if(!r.estaEliminada())
			{
				cantidad++;
			}
		}
		
		return cantidad;
	}


	public List<Respuesta> getRespuestas() {
		
		return respuestas;
	}
	
}

